package com.huahang.fashionpress.service;

import com.huahang.fashionpress.form.FormAddress;
import com.huahang.fashionpress.vo.AddressVO;

import java.util.List;

/**
 * 用户地址操作service
 * @author : 王翰聪
 * @since : 2019/08/26
 * @version : 1.0
 */
public interface IAddressService {
    /**
     * 添加一个新的收货地址
     * 收货地址只能最多有5个
     * 收货地址需要验证是否重复
     * 如果用户设置新地址为主要地址 则需要修改之前的主要地址
     * @param formAddress 用户从前端传回的表单地址对象
     * @return
     */
    boolean addNewAddress(FormAddress formAddress);

    /**
     * 删除一条地址
     * @param addressID 地址id
     * @return
     */
    boolean deleteAddress(Integer addressID);

    /**
     * 查询该用户所有的地址信息
     * @param userID
     * @return
     */
    List<AddressVO> getAllAddress(Integer userID);

    /**
     * 根据地址id修改地址信息
     * @param formAddress 要修改的地址信息内容
     * @param addressId
     * @return
     */
    boolean changeAddress(FormAddress formAddress, Integer addressId);
}
